<?php

class DataController extends Zend_Controller_Action {
	
	public function init() {
		$registry = Zend_Registry::getInstance ();
		$this->ldap = $registry->ldap;
		$this->doctrine = $registry->entitymanager;
	}
	
	/**
	 * Sur la base de param GET "nom", recherche
	 * une personne:
	 * 1. dans la base  MySQL locale, et si non trouvee
	 * 2. dans LDAP
	 * Dans le cas 1, on utilise doctrine2.
	 * Dans le cas 2, on utilise Zend_LDAP.
	 */
	public function indexAction() {
	
		//    	$this->ldap->bind();
	//		$hm = $this->ldap->getEntry('c=PL');
	//		$this->view->res = $hm;
	//        
	

	}
	
	/**
	 * 
	 * Tout le probleme revient e savoir comment synchroniser LDAP et ma base 
	 * de donnees.
	 * Principe:
	 * Si LDAP est plus e jour que ma base, on supprime le record de ma base.
	 * Pour que ca marche, il faut que LDAP nous donnes un date de derniere
	 * modification !
	 * 
	 * Donc, pour retourner les donnees, cela devient simple:
	 * Si on a un record pour un user, alors on afficher ces donnees.
	 * Important: 	si l'utilisateur ne modifie qu'un no de telephone par
	 * exemple, on enregistre quand meme TOUTES les donnees,
	 * le reste provenant de LDAP. Cela evite de faire deux 
	 * requetes pour retrouver des donnees eparses.
	 * Sinon, on prend les donnees LDAP.
	 */
	public function mesamisAction() {
		// Test
//		$org = $this->doctrine->find('Application_Model_Organisation', 'buau');
//		
//		$array = array ('id' => 'u80731200', 'nom' => 'Test', 
//						'prenom' => 'Test', 'organisation' => $org );
//		$personne = new Application_Model_Personne ( $array );
//		$this->doctrine->persist ( $personne );
//		$this->doctrine->flush ();
		
		$dql = "SELECT p FROM Application_Model_Personne p";
		$query = $this->doctrine->createQuery ( $dql );
		$users = $query->getArrayResult ();
		
		$this->view->userInfos = $users;
	}

}

